#ifndef MEMBER_H
#define MEMBER_H

#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* 用户性别枚举 */
typedef enum
{
    female = 1,
    male,
    unknow
} sex;

/* 用户会员类型枚举 */
typedef enum
{
    annual_card = 1,
    monthly_card,
    next_card
} member_type;

typedef struct
{
    char name[20];        /* 会员姓名 */
    unsigned int mid;     /* 会员ID */
    char card[11];        /* 会员卡号 */
    char number[12];      /* 会员手机号 */
    sex s;                /* 会员性别 */
    member_type mt;       /* 会员类型 */
    time_t reg_time;      /* 注册时间 */
    int remain_cnt;       /* 会员卡剩余次数 */
    time_t expire_time;   /* 到期时间 */
    int delete_state;     /* 删除状态 0表示未删除，1 表示删除 */
} member_info;

/* 管理员结构体 */
typedef struct
{
    char username[20];
    char password[20];
} admin_info;

/* 入场记录结构体 */
typedef struct
{
    unsigned int mid;     /* 会员ID */
    time_t enter_time;    /* 入场时间 */
    time_t exit_time;     /* 离场时间 */
    int status;           /* 状态: 0-已离场, 1-在场内 */
} access_record;

/* 函数声明 */
void member_reg(void);
void member_show(void);
void member_delete(void);
void member_modify(void);
void member_access(void);
int admin_login(void);
int is_admin_logged_in(void);
int file_exists(const char *filename);
void check_data_dir(void);

#endif